package avicit.im.lantop.basic.useconfig.domain;

import avicit.platform6.core.annotation.log.FieldRemark;
import avicit.platform6.core.annotation.log.LogField;
import avicit.platform6.core.domain.BeanBase;
import avicit.platform6.core.properties.PlatformConstant.LogType;

import javax.persistence.*;
import java.util.Date;

/**
 * <p>金航数码科技有限责任公司</p>
 * <p>作者：胡光昌</p>
 * <p>邮箱：huguangc@avicit.com</p>
 * <p>创建时间： 2014-10-26 上午10:12:25 </p>
 * <p>类说明：高级设置信息</p>
 * <p>修改记录： </p>
 */

@Entity
@Table(name = "LANTOP_HIGH_SET")
public class LantopHighSet extends BeanBase {

	private static final long serialVersionUID = 1L;

	@LogField
	@FieldRemark(column = "ID", field = "id", name = "利用高级设置信息id")
	private String id;

	private String orgId; // 组织ID
	private String deptId; // 部门ID
	private String sysId; // 系统标识ID
	@LogField
	@FieldRemark(column = "SECRET_CODE", field = "secretCode", name = "密级代码")
	private String secretCode; // 密级代码
	@LogField
	@FieldRemark(column = "USE_TYPE", field = "useType", name = "利用类型")
	private String useType; // 利用类型 JY：借阅,CY：查阅 ,LL：浏览 ,XZ：下载. DY:打印
	@LogField
	@FieldRemark(column = "USE_DAYS", field = "useDays", name = "利用天数")
	private Integer useDays; // 利用天数
	@LogField
	@FieldRemark(column = "BORROW_DAYS", field = "borrowDays", name = "续借天数")
	private Integer borrowDays; // 续借天数
	@LogField
	@FieldRemark(column = "REMINDER_DAYS", field = "reminderDays", name = "提前催还天数")
	private Integer reminderDays; // 催还天数
	@LogField
	@FieldRemark(column = "APPRAISAL_DAYS", field = "appraisalDays", name = "鉴定预提醒天数")
	private Integer appraisalDays; // 鉴定预提醒天数

	private String secretLevel; // 密级
	private String sysApplicationId; // 多应用ID
	private String attribute01; // 预留字段01
	private String attribute02; // 预留字段02
	private String attribute03; // 预留字段03
	private String attribute04; // 预留字段04
	private String attribute05; // 预留字段05
	private String attribute06; // 预留字段06
	private String attribute07; // 预留字段07
	private String attribute08; // 预留字段08
	private Date attribute09; // 预留字段09
	private Date attribute10; // 预留字段10
	private Integer attribute11; // 预留字段11
	private Integer attribute12; // 预留字段12
	private Integer attribute13; // 预留字段13
	private Integer attribute14; // 预留字段14
	private Integer attribute15; // 预留字段15

	@Id
	@Column(name = "ID", length = 50, nullable = false)
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	@Column(name = "ORG_ID", length = 50, nullable = false)
	public String getOrgId() {
		return orgId;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}

	@Column(name = "DEPT_ID", length = 50, nullable = false)
	public String getDeptId() {
		return deptId;
	}

	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}

	@Column(name = "SYS_ID", length = 50)
	public String getSysId() {
		return sysId;
	}

	public void setSysId(String sysId) {
		this.sysId = sysId;
	}

	@Column(name = "SECRET_CODE", length = 20, nullable = false)
	public String getSecretCode() {
		return secretCode;
	}

	public void setSecretCode(String secretCode) {
		this.secretCode = secretCode;
	}

	@Column(name = "USE_TYPE", length = 20, nullable = false)
	public String getUseType() {
		return useType;
	}

	public void setUseType(String useType) {
		this.useType = useType;
	}

	@Column(name = "USE_DAYS")
	public Integer getUseDays() {
		return useDays;
	}

	public void setUseDays(Integer useDays) {
		this.useDays = useDays;
	}

	@Column(name = "BORROW_DAYS")
	public Integer getBorrowDays() {
		return borrowDays;
	}

	public void setBorrowDays(Integer borrowDays) {
		this.borrowDays = borrowDays;
	}

	@Column(name = "REMINDER_DAYS")
	public Integer getReminderDays() {
		return reminderDays;
	}

	public void setReminderDays(Integer reminderDays) {
		this.reminderDays = reminderDays;
	}

	@Column(name = "SECRET_LEVEL", length = 50)
	public String getSecretLevel() {
		return secretLevel;
	}

	public void setSecretLevel(String secretLevel) {
		this.secretLevel = secretLevel;
	}

	@Column(name = "SYS_APPLICATION_ID", length = 50)
	public String getSysApplicationId() {
		return sysApplicationId;
	}

	public void setSysApplicationId(String sysApplicationId) {
		this.sysApplicationId = sysApplicationId;
	}

	@Column(name = "APPRAISAL_DAYS")
	public Integer getAppraisalDays() {
		return appraisalDays;
	}

	public void setAppraisalDays(Integer appraisalDays) {
		this.appraisalDays = appraisalDays;
	}

	@Column(name = "ATTRIBUTE_01", length = 255)
	public String getAttribute01() {
		return attribute01;
	}

	public void setAttribute01(String attribute01) {
		this.attribute01 = attribute01;
	}

	@Column(name = "ATTRIBUTE_02", length = 255)
	public String getAttribute02() {
		return attribute02;
	}

	public void setAttribute02(String attribute02) {
		this.attribute02 = attribute02;
	}

	@Column(name = "ATTRIBUTE_03", length = 255)
	public String getAttribute03() {
		return attribute03;
	}

	public void setAttribute03(String attribute03) {
		this.attribute03 = attribute03;
	}

	@Column(name = "ATTRIBUTE_04", length = 255)
	public String getAttribute04() {
		return attribute04;
	}

	public void setAttribute04(String attribute04) {
		this.attribute04 = attribute04;
	}

	@Column(name = "ATTRIBUTE_05", length = 255)
	public String getAttribute05() {
		return attribute05;
	}

	public void setAttribute05(String attribute05) {
		this.attribute05 = attribute05;
	}

	@Column(name = "ATTRIBUTE_06", length = 255)
	public String getAttribute06() {
		return attribute06;
	}

	public void setAttribute06(String attribute06) {
		this.attribute06 = attribute06;
	}

	@Column(name = "ATTRIBUTE_07", length = 255)
	public String getAttribute07() {
		return attribute07;
	}

	public void setAttribute07(String attribute07) {
		this.attribute07 = attribute07;
	}

	@Column(name = "ATTRIBUTE_08", length = 255)
	public String getAttribute08() {
		return attribute08;
	}

	public void setAttribute08(String attribute08) {
		this.attribute08 = attribute08;
	}

	@Column(name = "ATTRIBUTE_09")
	public Date getAttribute09() {
		return attribute09;
	}

	public void setAttribute09(Date attribute09) {
		this.attribute09 = attribute09;
	}

	@Column(name = "ATTRIBUTE_10")
	public Date getAttribute10() {
		return attribute10;
	}

	public void setAttribute10(Date attribute10) {
		this.attribute10 = attribute10;
	}

	@Column(name = "ATTRIBUTE_11")
	public Integer getAttribute11() {
		return attribute11;
	}

	public void setAttribute11(Integer attribute11) {
		this.attribute11 = attribute11;
	}

	@Column(name = "ATTRIBUTE_12")
	public Integer getAttribute12() {
		return attribute12;
	}

	public void setAttribute12(Integer attribute12) {
		this.attribute12 = attribute12;
	}

	@Column(name = "ATTRIBUTE_13")
	public Integer getAttribute13() {
		return attribute13;
	}

	public void setAttribute13(Integer attribute13) {
		this.attribute13 = attribute13;
	}

	@Column(name = "ATTRIBUTE_14")
	public Integer getAttribute14() {
		return attribute14;
	}

	public void setAttribute14(Integer attribute14) {
		this.attribute14 = attribute14;
	}

	@Column(name = "ATTRIBUTE_15")
	public Integer getAttribute15() {
		return attribute15;
	}

	public void setAttribute15(Integer attribute15) {
		this.attribute15 = attribute15;
	}

	/**
	 * TODO 获取日志表单名称
	 * @return 
	 * @throws
	 */
	@Override
	@Transient
	public String getLogFormName() {
		if (super.logFormName == null || super.logFormName.equals("")) {
			return "利用配置模块";
		} else {
			return super.logFormName;
		}
	}

	/**
	 * TODO 获取日志标题
	 * @return 
	 * @throws
	 */
	@Override
	@Transient
	public String getLogTitle() {
		if (super.logTitle == null || super.logTitle.equals("")) {
			return "利用配置模块";
		} else {
			return super.logTitle;
		}
	}

	/**
	 * TODO 获取日志类型
	 * @return 
	 * @throws
	 */
	@Override
	@Transient
	public LogType getLogType() {
		if (super.logType == null || super.logType.toString().equals("")) {
			return LogType.module_operate;
		} else {
			return super.logType;
		}
	}

}
